SQLite 是一個輕量級的嵌入式資料庫,無需單獨安裝伺服器即可使用。Python 提供了內建的 sqlite3 模組來與 SQLite 互動。
我們可以使用 sqlite3 模組連接或創建一個 SQLite 資料庫,並建立表格來儲存數據。
import sqlite3
# 連接到資料庫(若資料庫不存在則自動創建)
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 創建表格
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL
)
''')
# 保存變更
conn.commit()
connect()
:連接到一個 SQLite 資料庫,如果資料庫文件不存在則會創建一個新的。cursor()
:創建一個游標對象,通過它可以執行 SQL 語句。execute()
:執行 SQL 語句來創建表格。commit()
:保存變更。
我們可以使用 INSERT 語句將數據插入到表格中。
# 插入數據
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 25)
''')
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Bob', 30)
''')
# 保存變更
conn.commit()
INSERT INTO
:用於插入數據到指定的表格中,並指定相應的欄位和值。
我們可以使用 SELECT 語句從資料庫中查詢數據。
import sqlite3
# 連接到資料庫(若資料庫不存在則自動創建)
conn = sqlite3.connect('example.db')
# 創建一個游標對象
cursor = conn.cursor()
# 創建表格
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
age INTEGER NOT NULL
)
''')
# 插入數據
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 25)
''')
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Bob', 30)
''')
# 查詢數據
cursor.execute('SELECT * FROM users')
# 獲取查詢結果
rows = cursor.fetchall()
# 顯示結果
for row in rows:
print(row)
# 保存變更
conn.commit()
fetchall()
:獲取所有查詢結果,結果將以列表形式返回。SELECT * FROM
:用於從表格中獲取所有數據。
查詢結果 :
使用 UPDATE 語句來更新表格中的數據。
# 更新數據
cursor.execute('''
UPDATE users
SET age = 26
WHERE name = 'Alice'
''')
# 保存變更
conn.commit()
UPDATE
:用於更新表格中的數據,SET 指定要更新的欄位,WHERE 指定更新條件。
我們可以使用 DELETE 語句刪除表格中的數據。
# 刪除數據
cursor.execute('''
DELETE FROM users
WHERE name = 'Bob'
''')
# 保存變更
conn.commit()
完成操作後,應該關閉資料庫連接以釋放資源。
# 關閉連接
conn.close()
在這篇文章中,我們學習了如何使用 Python 的內建 sqlite3 模組進行 SQLite 資料庫的操作,從創建資料庫、表格,到插入、查詢、更新與刪除資料。